The present invention relates to computers, and more particularly to execution and preemption of schedulable computer process entities. Examples of schedulable process entities include UNIX.RTM. processes and Solaris.RTM. lightweight processes (LWP).
A multiprocessing computer system may include resources shared by different schedulable process entities. In some cases, a shared resource can be accessed only by a limited number of such entities at a time. Thus, some DBMS latches can be held only by one process at a time. If a process holds a shared resource, other processes wishing to access the resource have to wait until the holding process releases the resource. If the holding process is preempted before releasing the resource, the waiting processes cannot run, and the system throughput becomes decreased.
It is desirable to provide preemption control methods and systems that would increase the system throughput.